Exerccios da Aula 4


#1. Cervejas

Uma amostra de 30 estudantes foi indagada sobre seu tipo de cerveja preferida, com o seguinte resultado 

cervejas <-c("chope","lata","garrafa","chope","garrafa",garrafa","lata","lata","nenhuma","lata","garrafa","garrafa",garrafa","lata","lata","lata","garrafa","lata","chope ,enhuma","garrafa","garrafa","garrafa","chope","garrafa","garrafa","chope","garrafa","lata","lata")

Represente este resultado como um grfico de barras e um stripplot (funo stripchart). 


#Codigo

	cervejas <-c("chope","lata","garrafa","chope","garrafa", "garrafa","lata","lata","nenhuma","lata","garrafa","garrafa", "garrafa","lata","lata","lata","garrafa","lata","chope","nenhuma", "garrafa","garrafa","garrafa","chope","garrafa","garrafa","chope","garrafa","lata","lata")

	class(cervejas)
	cerv.tab = table(cervejas)

#Barplot
	barplot(cerv.tab)
	cerv.tab

#Stripchart
	stripchart(cerv.tab, vertical=T)


#R: Para pequenas amostras o stripchart deixa mais claro e leve os grficos para interpretacao


#2. Rios
O conjunto de dado rivers est em um objeto do pacote datasets. e tem a extenso dos principais rios da Amrica do Norte, em milhas (consulte a ajuda para detalhes). Para carregar um objeto de dados de um pacote em sua rea de trabalho use a funo data: 


#2.###Rios

	library(help="datasets")
	search()
	rivers
	class(rivers)
	summary(rivers)
	mean(rivers)

#2.1
#Proporo de rios maiores que a mdia
	Rios.m.m = sum(rivers<=mean(rivers))/length(rivers)
	Rios.m.m
	[1] 0.6666667

#2.2
	#Quantil de 75%

	quantil.75 = quantile(rivers)[4]
	quantil.75
	75% 
	680 

#2.3
#Media, Mediana e Media (trim=.25)

	Comp.par.ten.central=c(mean(rivers), mean(rivers, trim=0.25), median(rivers))
	Comp.par.ten.central 
	[1] 591.1844 449.9155 425.0000


#3.###Caixetais

Neste exerccio, use o objeto caixeta, criado no tutorial Explorao de uma Varivel Categrica. 

#3.1 - Construa um histograma da altura dos fustes do caixetal.

	Caixeta = read.csv("caixeta.csv",header = TRUE, sep = ",", quote="\"", dec=".", fill = TRUE,)
	str(caixeta)
	summary(caixeta)
	head(caixeta)

#Histograma de altura dos fustes

	hist(caixeta$h)


#3.2 - Construa histogramas da altura das rvores para os diferentes caixetais ('local').

str(caixeta$local)
caixeta$local = as.factor(caixeta$local)
caixeta.names = levels(caixeta$local)
levels(caixeta$local)

par(mfrow=c(2,2))
#Histograma de altura dos fustes de chauas
hist(caixeta[caixeta$local==caixeta.names[1],6], main="Chauas", xlim=c(0,200))

#Histograma de altura dos fustes de jureia
hist(caixeta[caixeta$local==caixeta.names[2],6], main="Jureia", xlim=c(0,200))

#Histograma de altura dos fustes de retiro
hist(caixeta[caixeta$local==caixeta.names[3],6], main="Retiro", xlim=c(0,200))
par(mfrow=c(1,1))

#3.3 - H diferenas entre as estruturas (distribuio de tamanhos) dos caixetais

Plotando os 3 grficos na mesma janela  possvel observar uma diferena de distribuio das classes entre os caixetais. Chauas possui seus indivduos concentrados nas classes de 50 e 100. Retiro, assim como Chauas, apresenta seus indiviuos concetrados na mesma faixa, mas apresenta uma distribuo mais homogenea nas demais classes quando comparada com a Chauas. Jureia apresenta da distruibuio mais homogenea das 3 com os indivduos concetrados na faixa 75 -125.


#4.###Eucaliptos

Neste exerccio, use o conjunto de dados Inventrio em Florestas Plantadas de Eucalyptus grandis. 

#4.1 - Utilize o grfico boxplot para analisar o DAP de rvores de E. grandis em funo das variveis regio ('regiao') e rotao ('rot'). 

	par(mfrow=c(2,1))
	boxplot(egrandis$dap~egrandis$regiao)
	boxplot(egrandis$dap~egrandis$rot)
	par(mfrow=c(1,1))

Bofete apresenta a maior mdia de dap.Contudo Botucatu possui uma grande quantidade de valores extremos de DAP.

#4.2 - Avalie a normalidade da altura do conjunto total de rvores com um grfico quantil-quantil contra a distribuio normal.

	is.na(egrandis$ht)
	qqnorm(egrandis$ht)
	qqline(egrandis$ht)
	hist(egrandis$ht, prob=T)
	curve(expr=dnorm(x,mean=mean(egrandis$ht), sd=sd(egrandis$ht)), add=T, col="red")


Pelo grfico da qqnorm, observamos um claro desvio da normalidade nas observaes de altura. Essa observao  reforada ao observarmos o histograma acrescido da curva normal.

#5.###Mais Caixetais

Aqui usaremos novamente o objeto caixeta, criado no tutorial Explorao de uma Varivel Categrica.

#5.1 - Analise a relao dap-altura ('dap' e 'h') em funo do caixetal, mas somente para os fustes de caixeta (Tabebuia cassinoides).

	names(caixeta)
	str(caixeta)

#Separando a especie T. cassinoides das demais
	caixeta$especie = as.factor(caixeta$especie)
	caixeta$local = as.factor(caixeta$local)
	caixeta$especie=="Tabebuia cassinoides"
	caixeta.T.cassinoides = caixeta[caixeta$especie=="Tabebuia cassinoides",]
	head(caixeta.T.cassinoides)

#Criando coluna de DAP

	caixeta.T.cassinoides$DAP = caixeta.T.cassinoides$cap/pi

#Separando por locais
	caixeta$local==caixeta.levels[1]
	caixeta.levels=levels(caixeta$local)
	caixeta.t.chauas = caixeta.T.cassinoides[caixeta.T.cassinoides$local==caixeta.levels[1],]
	caixeta.t.jureia = caixeta.T.cassinoides[caixeta.T.cassinoides$local==caixeta.levels[2],]
	caixeta.t.retiro = caixeta.T.cassinoides[caixeta.T.cassinoides$local==caixeta.levels[3],]

#Grafico de DAP vs Altura por local

	par(mfrow=c(2,2))
	plot(DAP~h, data=caixeta.t.chauas)
	plot(DAP~h, data=caixeta.t.jureia, col="red")
	plot(DAP~h, data=caixeta.t.retiro, col="blue")
	par(mfrow=c(1,1))

   
#5.2 - Para a mesma relao do item anterior, verifique linearidade com a funo scatter.smooth

	par(mfrow=c(2,2))
	scatter.smooth(caixeta.t.chauas$DAP~caixeta.t.chauas$h, xlab = "Altura", ylab = "DAP")
	scatter.smooth(caixeta.t.jureia$DAP~caixeta.t.jureia$h, xlab = "Altura", ylab = "DAP",col="red")
	scatter.smooth(caixeta.t.retiro$DAP~caixeta.t.retiro$h, xlab = "Altura", ylab = "DAP",col="blue")
	par(mfrow=c(1,1))

#5.3 - Utilizando o pacote lattice, analise a relao dap-altura ('dap' e 'h') em funo do caixetal, mas somente para os fustes de caixeta (Tabebuia cassinoides).

	search()
	library(lattice)

	?xyplot

	xyplot(caixeta.T.cassinoides$DAP~caixeta.T.cassinoides$h|caixeta.T.cassinoides$local, ylab = "Altura", xlab = "DAP", subset = TRUE)

Dica: veja o argumento subsets das funes de grficos.


